1. Field of the Invention
This invention relates to communications between storage modules and more particularly relates to selective cross communications between autonomous storage modules.
2. Description of the Related Art
A storage subsystem such as a redundant array of independent disks (RAID) storage subsystem may include a plurality of storage modules. The storage modules may be organized into one or more cascaded loops, herein referred to as loops.
In a loop, each storage module may be in communication with an upstream storage module and a downstream storage module. The loop may terminate with a most downstream storage module that does not communicate with a downstream storage module. In addition, the loop may begin with one or more loop controllers such as RAID controllers that write data to the storage modules and read data from the storage modules.
FIG. 1 is a schematic block diagram illustrating one embodiment of a storage subsystem 100 with a plurality of loops. The subsystem 100 includes one or more RAID controllers 105 and one or more storage units 110. A storage unit 110 may be a hard disk drive. The RAID controllers 105 control the storage units 110, writing data to and reading data from the storage units 110. The RAID controllers 105 may also perform maintenance functions on the storage units 110, such as initializing the storage units 110, formatting the storage units 110, and testing the storage units 110.
In the depicted embodiment, the storage units 110 are organized into cascaded loops 115, herein referred to as loops 115. Storage units 110 may be interconnected with communication cables such as small computer system interface (SCSI) cables, Fibre Channel cables, and the like to form the loops 115.
Each RAID controller 105 is shown in communication with each loop 115. Alternatively, each loop 115 may have one or more dedicated loop controllers. A RAID controller 105 may retrieve data from a storage unit 110 by communicating a command through a loop 115. For example, if a first RAID controller 105a needed to retrieve data from a fifth storage unit 110e, the first RAID controller 105a may communicate a command requesting the data to a first storage unit 110a. The first storage unit 110a may transmit the command to the third storage unit 110c, and the third storage unit 110c may then transmit the command to the fifth storage unit 110e. 
Continuing the example above, the fifth storage unit 110e may retrieve the requested data after receiving the command and transmit the data to the third storage unit 110c. The third storage unit 110c may then transmit the data to the first storage unit 110a, and the first storage unit 110a transmit the data to the first RAID controller 105a. 
Unfortunately, if a storage unit 110 fails, a RAID controller 105 may be unable to communicate with storage units 110 downstream of the failed storage unit 110. For example, if the third storage unit 110c fails, the first and second RAID controllers 105a, 105b are unable to communicate with the fifth and seventh storage controllers 110e, 110g. 
Two or more storage units 110 may be configured in a single enclosure. For example, the first and a second storage unit 110a, 110b may each be disposed in a common enclosure, the third and a fourth storage unit 110c, 110d may each be disposed in another common enclosure, and so on. Placing a plurality of storage units 110 in a single enclosure may simplify setting up a plurality of loops 115 for the RAID storage controllers. In the depicted embodiment, each RAID controller 105 may be easily cabled to form two loops 115, with the loops 115 comprising storage units 110 that share enclosures.
Unfortunately, storage units 110 that fail within an enclosure also block access to downstream storage units 110. As a result, the RAID controllers 105 are unable to write data to and read data from downstream storage units 110 until the failed storage unit 110 is replaced and/or repaired. Storage units 110 may also become unavailable when an upstream storage unit 110 is removed, taken off line, or the like.